gtk_constraint_guide_set_min_size (guide, 10, 10);
gtk_constraint_guide_set_nat_size (guide, 100, 10);
gtk_constraint_guide_set_max_size (guide, 200, 20);
+ gtk_constraint_guide_set_strength (guide, GTK_CONSTRAINT_STRENGTH_STRONG);
gtk_constraint_layout_add_guide (manager, guide);
gtk_constraint_layout_add_constraint (manager,
char *name;
+ int strength;
+
int values[LAST_VALUE];
GtkConstraintLayout *layout;
PROP_NAT_HEIGHT,
PROP_MAX_WIDTH,
PROP_MAX_HEIGHT,
+ PROP_STRENGTH,
PROP_NAME,
LAST_PROP
};
guide->constraints[index] =
gtk_constraint_solver_add_stay_variable (solver,
var,
- GTK_CONSTRAINT_WEIGHT_MEDIUM);
+ guide->strength);
}
else
{
}
break;
+ case PROP_STRENGTH:
+ gtk_constraint_guide_set_strength (self, g_value_get_enum (value));
+ break;
+
case PROP_NAME:
gtk_constraint_guide_set_name (self, g_value_get_string (value));
break;
g_value_set_int (value, self->values[prop_id - 1]);
break;
+ case PROP_STRENGTH:
+ g_value_set_int (value, self->strength);
+ break;
+
case PROP_NAME:
g_value_set_string (value, self->name);
break;
G_PARAM_READWRITE|
G_PARAM_EXPLICIT_NOTIFY);
+ guide_props[PROP_STRENGTH] =
+ g_param_spec_enum ("strength",
+ "Strength",
+ "The strength to use for natural size",
+ GTK_TYPE_CONSTRAINT_STRENGTH,
+ GTK_CONSTRAINT_STRENGTH_MEDIUM,
+ G_PARAM_READWRITE|
+ G_PARAM_EXPLICIT_NOTIFY);
+
guide_props[PROP_NAME] =
g_param_spec_string ("name",
"Name",
guide->name = g_strdup (name);
g_object_notify_by_pspec (G_OBJECT (guide), guide_props[PROP_NAME]);
}
+
+GtkConstraintStrength
+gtk_constraint_guide_get_strength (GtkConstraintGuide *guide)
+{
+ g_return_val_if_fail (GTK_IS_CONSTRAINT_GUIDE (guide),
+ GTK_CONSTRAINT_STRENGTH_MEDIUM);
+
+ return guide->strength;
+}
+
+void
+gtk_constraint_guide_set_strength (GtkConstraintGuide *guide,
+ GtkConstraintStrength strength)
+{
+ g_return_if_fail (GTK_IS_CONSTRAINT_GUIDE (guide));
+
+ if (guide->strength == strength)
+ return;
+
+ guide->strength = strength;
+ g_object_notify_by_pspec (G_OBJECT (guide), guide_props[PROP_STRENGTH]);
+ gtk_constraint_guide_update_constraint (guide, NAT_WIDTH);
+ gtk_constraint_guide_update_constraint (guide, NAT_HEIGHT);
+}
#include <gtk/gtktypes.h>
#include <gtk/gtkenums.h>
+#include <gtk/gtktypebuiltins.h>
G_BEGIN_DECLS
void gtk_constraint_guide_get_max_size (GtkConstraintGuide *guide,
int *width,
int *height);
+
+GDK_AVAILABLE_IN_ALL
+GtkConstraintStrength gtk_constraint_guide_get_strength (GtkConstraintGuide *guide);
+GDK_AVAILABLE_IN_ALL
+void gtk_constraint_guide_set_strength (GtkConstraintGuide *guide,
+ GtkConstraintStrength strength);
+
GDK_AVAILABLE_IN_ALL
void gtk_constraint_guide_set_name (GtkConstraintGuide *guide,
const char *name);